package com.vision.sales.cm.serv.rpc;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.sencha.gxt.data.shared.loader.PagingLoadResult;
import com.vision.core.cm.exception.RpcException;
import com.vision.core.cm.serv.rpc.AbstractService;
import com.vision.sales.cl.ui.component.TransactionLoadConfig;
import com.vision.sales.cm.data.TransactionStatus;
import com.vision.sales.cm.db.data.AdvancePayment;

@RemoteServiceRelativePath("advance_payment")
public interface AdvancePaymentService extends AbstractService<AdvancePayment> {
	
	PagingLoadResult<AdvancePayment> getList(TransactionLoadConfig config) throws RpcException;
	
	List<AdvancePayment> getAdvancePayments(TransactionStatus status) throws RpcException;

	//List<AdvancePayment> postAdvancePayments(List<AdvancePayment> payments) throws RpcException;
	
	List<AdvancePayment> getAdvancePaymentsIncludingAppliedPayments(long customerId) throws RpcException;
	
}
